package it.gat.dao.impl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import it.gat.dao.PermessoDAO;
import it.gat.model.Permesso;
import it.gat.model.PermessoEnum;
import it.gat.util.dao.MySQLDAOFactory;

public class MySQLPermessoDAOImpl implements PermessoDAO {
	
	public Permesso retriveByEnum(PermessoEnum enumPermesso) throws SQLException {
		Permesso permesso = new Permesso();
		Connection conn = MySQLDAOFactory.createConnection(); 
		Statement stmt = conn.createStatement();
		String query = "SELECT * " +
		               "FROM Permesso " +
				       "WHERE enumpermesso='"+enumPermesso.toString()+"'";
		ResultSet rs = stmt.executeQuery(query);
		while (rs.next()) {
			permesso.setPermessoEnum(enumPermesso);
			permesso.setDescrizione(rs.getString("descrizione"));
			}
		return permesso;
	}

	@Override
	public List<Permesso> retrieveAll() throws SQLException {
		List<Permesso> permessi = new ArrayList<Permesso>();
		Connection conn = MySQLDAOFactory.createConnection(); 
		Statement stmt = conn.createStatement();
		String query = "SELECT * " +
		               "FROM Permesso ";
		ResultSet rs = stmt.executeQuery(query);
		while (rs.next()) {
			Permesso permesso = new Permesso();
			permesso.setPermessoEnum(PermessoEnum.valueOf(rs.getString("enumpermesso")));
			permesso.setDescrizione(rs.getString("descrizione"));
			permessi.add(permesso);
			}
		return permessi;
	}

}
